export default app => {
  const { STRING, INTEGER, DATE, DataTypes } = app.Sequelize;

  const user = app.model.define('user', {
    id: { type: INTEGER, primaryKey: true, autoIncrement: true },
    uuid: { type: STRING(36), unique: true },
    name: STRING(50),
    tel: STRING(50), // 用户手机，同时也是用户登录的账号
    password: STRING(255), // 用户密码
    email: STRING(50),
    identity: INTEGER, // 用户角色（可选：超级管理员1/普通管理员0）
    address: STRING(255), // 联系地址
    state: INTEGER, // 用户状态（冻结2/未审核0/已通过1）
    department: STRING(50), // 所属机构
    role: STRING(36), // 职称
    post: STRING(36), // 职务
    education: STRING(50), // 学历
    major: STRING(50), // 专业
    fk_organization: {
      type: DataTypes.STRING(36),
    }, // 所属公司
    age: INTEGER,
    sex: INTEGER, // 0为女， 1为男
    createTime: DATE, // 创建日期
    createdAt: DATE,
    updatedAt: DATE,
  });

  user.associate = () => {
    app.model.User.belongsTo(app.model.Title, {
      foreignKey: 'role',
      targetKey: 'uuid',
    });

    app.model.User.belongsTo(app.model.Position, {
      foreignKey: 'post',
      targetKey: 'uuid',
    });
  };
  return user;
};
